/**
 * Project hdmap
 * @author shengjialiang
 * @version v1.0
 */


#ifndef _MINEDATAEXCHANGE_H
#define _MINEDATAEXCHANGE_H

#include "map_minedataset/MineDataSet.h"
#include "map_minedataexchange/MineDataExchangeConfig.h"

namespace Mine
{
	class MAP_MINEDATAEXCHANG_EXPORT CDataHelper
	{
	public:
		CDataHelper();

		virtual ~CDataHelper();

		static Mine::CDrillDataSet* importDrillData(const std::string& in_drillBaseInfo,
			const std::string& in_drillDetailInfo);

		static Mine::CLaneDataSet* importLaneData(
			const std::string& in_laneBaseInfo,
			const std::string& in_laneDetailInfo);

		static Mine::CLaneDataSet* importLaneData(
			const std::string& in_laneFile);

		static bool computeCoalData(
			Mine::CDrillDataSet* in_drillDataSet,
			std::map<std::string, osg::ref_ptr<osg::Vec3dArray>>& inout_colaDatas,
			const std::string& in_saveDir = "");

		static bool computeKTXData(Mine::CDrillDataSet* in_drillDataSet,
			std::map<std::string, std::vector<std::string>>& in_result);

		static  bool loadCoalData(const std::string& in_path,
			osg::ref_ptr<osg::Vec3dArray>& inout_points,
			std::string& inout_name);

		static Mine::CStratumSectionFeature* computeStratumSection(
			std::vector<Mine::CDrillFeature*> drills);
	};
}


#endif //_MINEDATAEXCHANGE_H